
run:main.o exp.tab.o exp.lex.o
	g++ -o run main.o exp.tab.o exp.lex.o -fPIC

main.o:main.c tokens.h
	g++ -o main.o -c main.c -fPIC

exp.tab.o:exp.tab.c 
	g++ -o exp.tab.o -c exp.tab.c -fPIC

exp.lex.o:exp.lex.c
	g++ -o exp.lex.o -c exp.lex.c -fPIC

exp.tab.c:exp.yy tokens.h
	bison --name-prefix=exp_ -d -o exp.tab.c exp.yy

exp.lex.c:exp.lex tokens.h
	flex --prefix=exp_ -o exp.lex.c exp.lex 
exp.lex:;
clean:
	rm -f exp.lex.* exp.tab.* main.o run
